import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule ,ReactiveFormsModule} from '@angular/forms'; 
import { NzIconModule } from 'ng-zorro-antd/icon';
import { AlertFill } from '@ant-design/icons-angular/icons';
import { IconDefinition } from '@ant-design/icons-angular';
import { DemoNgZorroAntdModule } from '../../NG-ZORRO/ng-zorro-antd.module';
import { ServiceRoutingModule } from './finance-routing.module';
import { FinanceAfterSaleDetailComponent } from './finance-after-sale-detail/finance-after-sale-detail.component'
import { FinanceGatheringDetailComponent } from './finance-gathering-detail/finance-gathering-detail.component'
import { FinanceOutDetailComponent } from './finance-out-detail/finance-out-detail.component'
import { FinancePutDetailComponent } from './finance-put-detail/finance-put-detail.component'

import {
  saleTypeStatusPipe,
  saleStatusPipe,
  orderTypeStatusPipe,
  orderStatusPipe,
  expressStatusPipe,
  saleRefundStatusPipe,
  collectionStatusPipe,
  orderColorStatus,
  PlatformStatusPipe,
  DrawbackStatePipe,
  AccountTypeStatusPipe,
  FinanceMachineScoreTypesPipe,
  RefundPlatformTypePipe,
  FinanceOrderChangeStatusPipe,
  SecondOrderStatusPipe,
  SecondReportCollectionStatePipe,
  SecondReportPayModePipe,
  SecondOutStatusPipe
} from './status.pipe';
import { PartsOrderStatusPipe } from '../order/order.pipe';
import { ClipboardModule } from '@angular/cdk/clipboard';
const icons: IconDefinition[] = [AlertFill];
const pipeArrs = [
  saleTypeStatusPipe,
  saleStatusPipe,
  orderTypeStatusPipe,
  orderStatusPipe,
  expressStatusPipe,
  saleRefundStatusPipe,
  collectionStatusPipe,
  orderColorStatus,
  PlatformStatusPipe,
  DrawbackStatePipe,
  AccountTypeStatusPipe,
  FinanceMachineScoreTypesPipe,
  RefundPlatformTypePipe,
  FinanceOrderChangeStatusPipe,
  PartsOrderStatusPipe,
  SecondOrderStatusPipe,
  SecondReportCollectionStatePipe,
  SecondReportPayModePipe,
  SecondOutStatusPipe
];

// 封装组件module
import { sharedModule } from '../../sharedModule/shared.module';
import { FinanceDrawbackComponent } from './finance-drawback/finance-drawback.component';
import { FinanceDrawbackDetailComponent } from './finance-drawback-detail/finance-drawback-detail.component';
import { FlowRecordComponent } from './components/flow-record/flow-record.component';
import { PayCustomizedCouponsComponent } from './finance-customized-manage/pay-customized-coupons/pay-customized-coupons.component';
import { FinanceSecondOrderComponent } from './finance-second-order/finance-second-order.component';
import { FinanceRecoveryOrderComponent } from './finance-recovery-order/finance-recovery-order.component';
import { FinanceMachineTestScoreComponent } from './finance-machine-test-score/finance-machine-test-score.component';
import { FinanceCustomizedSaleafterComponent } from './finance-customized-manage/finance-customized-saleafter/finance-customized-saleafter.component';
import { FinanceOldchangeListComponent } from './finance-oldchange-manage/finance-oldchange-list/finance-oldchange-list.component';
import { FinanceSecondSaleafterReportComponent } from './finance-second-pages/finance-second-saleafter-report/finance-second-saleafter-report.component';
import { FinanceSecondOrderReportComponent } from './finance-second-pages/finance-second-order-report/finance-second-order-report.component';
import { FinanceSecondPutReportComponent } from './finance-second-pages/finance-second-put-report/finance-second-put-report.component';
import { FinanceSecondOutReportComponent } from './finance-second-pages/finance-second-out-report/finance-second-out-report.component';
import { FinanceCashFlowComponent } from './finance-cash-flow/finance-cash-flow.component';

@NgModule({
  declarations: [
    ...pipeArrs,
    FinanceAfterSaleDetailComponent,
    FinanceGatheringDetailComponent,
    FinanceOutDetailComponent,
    FinancePutDetailComponent,
    FinanceDrawbackComponent,
    FinanceDrawbackDetailComponent,
    FlowRecordComponent,
    PayCustomizedCouponsComponent,
    FinanceSecondOrderComponent,
    FinanceRecoveryOrderComponent,
    FinanceMachineTestScoreComponent,
    FinanceCustomizedSaleafterComponent,
    FinanceOldchangeListComponent,
    FinanceSecondSaleafterReportComponent,
    FinanceSecondOrderReportComponent,
    FinanceSecondPutReportComponent,
    FinanceSecondOutReportComponent,
    FinanceCashFlowComponent
  ],
  imports: [
    sharedModule,
    NzIconModule.forRoot(icons),
    ReactiveFormsModule,
    FormsModule,
    DemoNgZorroAntdModule,
    CommonModule,
    ClipboardModule,
    ServiceRoutingModule
  ],
  providers: [
  ]
})
export class financeModule { }
